[Note: This post was first published in February, 2010. It has been edited to include changes in Microsoft licensing, and updated to include links to the most recent Microsoft license documentation.]
So, grasshopper, you have decided to take the plunge and virtualize your server infrastructure. Someone explained the business benefits of virtualization, you decided that it made sense, and that it’s time to make the move. But do you know how virtualization will affect your Windows Server licensing model?
The first thing you need to know is that Windows Server licenses are assigned to physical hardware, not to server workloads. When you purchase a license, you must “assign” that license to a physical server. How do you do that? Well, in today’s world, there is no formal process for doing that, although if it makes you feel better, you can write it down somewhere. You just need to be able to prove, in a license audit, that you own sufficient licenses for your infrastructure. (So, actually, writing things down and making sure you save all of your purchase records, license keys, etc., is a pretty good idea.)
You may assign more than one license to a physical server, but you may not assign the same license to more than one physical server. You may reassign a license from one physical server to another, but not more frequently than every 90 days, unless the server it was assigned to is being retired due to “permanent hardware failure.”
Sound reasonable so far? Of course it does. Right up until the license model runs head-on into one of the coolest features of virtualization: live motion. Most virtualization platforms, including Microsoft’s Hyper-V, allow you to easily move a virtual server from one physical host to another. Great feature, right? But if you do it, you may have just violated your Windows license agreement.
I say “may” because different versions of Windows Server come with different virtualization rights. For example, a Windows Server Standard license can be used to run one physical plus one virtual instance of Windows Server, or two virtual instances if (1) the physical instance is used for nothing other than a virtualization platform for the virtual instances, or (2) you’re using a virtualization platform other than Hyper-V, such as VMware or XenServer. (Note that prior to the release of Windows Server 2012, a Windows Server Standard license only allowed you to run a single physical or virtual instance.)
Let me say that another way: If you buy a single license for Windows Server Standard Edition today, you can install it directly on the hardware without bothering with the Hyper-V role. Or you can install the Hyper-V role, have two virtual Windows Servers running on top of Hyper-V, and use the physical instance exclusively to manage the virtual instances. Or you can use the physical instance to actually provide user services, such as DNS, DHCP, file & print, etc., and have one virtual instance running on top of Hyper-V. If you need additional virtual instances, you can purchase additional copies of Windows Server Standard, “assign” them to the same physical host, and run more virtual servers on Hyper-V. Or you can choose to license your servers with Windows Server Datacenter Edition instead – more on that later.
Thinking this scenario through, then, if you currently have a bunch of physical Windows Servers – each licensed with Windows Standard Edition – and you want to virtualize them all, that’s no problem. You can reassign your server licenses to your virtual hosts and be perfectly legal. As long as you don’t move a server from one host to another. But if all you own are Standard Edition licenses, and you start moving server instances around, as soon as you have three virtual instances running on a single physical server you’ve violated the license agreement – unless you have “assigned” more than one Windows Standard license to the target server (the host you’re moving it to).
Now, in the scenario I just described, it’s possible that the most cost-effective thing you could do is to just buy a few additional licenses as “spares” rather than re-licensing your entire environment. But let’s move ahead – once we’ve covered the other Windows edition that is available to you, you’ll be better able to decide what makes financial sense for your project.
Windows Server 2008 and earlier could be purchased in an Enterprise Edition, which came with expanded virtualization rights that allowed you to run one physical instance and up to four virtual instances on the physical host to which it is assigned. Once again, if you wanted to run all four virtual instances, then the physical instance could only be used to manage the virtual environment. If you wanted to run other services on the physical instance – and that’s actually fairly common in a Hyper-V deployment – then you only got to run three virtual instances. And you may not split the license across multiple physical hosts. You could also purchase the Datacenter Edition, which allowed you to run as many virtual instances on your server hardware as the hardware could handle.
Beginning with Windows Server 2012, the Enterprise Edition was eliminated, and the Standard Edition and Datacenter Editions were brought into feature parity. The only difference today between Standard Edition and Datacenter edition is in the virtualization rights of the respective editions – there is no difference in features or functionality.
The other major change that was introduced with the release of Windows Server 2016 is the move to core-based licensing. Earlier versions were licensed according to the number of physical processors in your servers – but now you must account for the number of physical processor cores. You are required to purchase at least 8 core licenses per physical processor, and at least 16 core licenses per physical server. Licenses come in 2-packs, which means that you must purchase a minimum of eight 2-packs per physical server. The potential for confusion here is, shall we say, significant. However, Microsoft set the pricing such that, for example, purchasing eight 2-packs of Windows Server 2016 Standard Edition is roughly the same price as a single Windows Server 2012 Standard Edition license, which covered two physical processors. Same for Datacenter Edition. So the people who are going to end up paying more for Windows Server 2016 are the people who are running high-density virtualized infrastructures that use processors with more than 8 cores each.
The “estimated retail price” (just the license, no Software Assurance, assuming Open Business pricing) to license a single dual-processor server for Windows Standard (assuming no more than 8 cores per processor) is $888. For Datacenter Edition, it’s $6,160. So Datacenter Edition is roughly 7x the price of Standard Edition. That means that if you’re going to be running fewer than, say, a dozen or so VMs per physical host, you will actually save money by “stacking” multiple Standard Edition licenses rather than purchasing Datacenter licenses. Here’s an example:
Let’s say you’re a medium-sized business, and have a total of twenty physical servers today, and you want to virtualize them on three dual-processor virtualization hosts. You could license each physical server with sufficient Windows Standard core licenses to run as many as 10 VMs each for a total of $13,320 (5 x $888 = $4,440 per server). That would give you enough headroom in licensed capacity to completely unload one of your servers – if it should fail, or if you need to take it down for maintenance – and run 10 VMs each on the remaining two servers. Licensing those same three physical servers for Datacenter Edition would cost you $18,480 ($6,160 per server).
On the other hand, this doesn’t take into consideration your future growth needs. The number of VMs a physical server can support is dependent on several things, including the nature of the server workload itself, not just the physical characteristics of the server hardware. If many of your servers are lightly used in terms of processor utilization, it’s quite possible that you could support more than a dozen VMs on a single dual-processor host these days. And if you’re anywhere close to that line, or think you may get there in the next few years, you would probably be wise to license your servers for Datacenter Edition, in which case you can move servers around to your heart’s content, and load up as many VMs as your hardware can handle, and never have to worry about exceeding your licensed capacity.
Note that everything we’ve discussed holds true if you’re virtualizing on XenServer or VMware rather than on Hyper-V. The only difference is that you won’t be using any of the allowed physical instances of Windows.
Finally, I have to add the disclaimer that I am not the definitive source for Microsoft licensing rights. They are subject to change, and I’m just doing my best to explain the current state of affairs as I understand them. If you want to go to the source, you should download a copy of the Microsoft Product Use Rights document from their Web site. Happy virtualizing!